Thinh M Hoang
Software Engineer
IBM® Lotus® Sametime® Support Team
Shabih Syed
Staff Software Engineer
IBM® Lotus® Sametime® Support Team
James Pappas
Staff Software Engineer
IBM® Lotus® Sametime® Support Team
Nancy Pittman
Staff Software Engineer
IBM® Lotus® Sametime® Support Team
Overview
The IBM® Lotus® Sametime® (ST) Connect client can be updated with additional features during the client installation or at any time after the initial installation. There are several reasons to install new features, including:
1. To install optional features. Sametime ships with several optional features - these are provided with the release but are not automatically installed.
2. To install a new feature that you have purchased from a 3rd party or developed yourself using the Sametime SDK.
3. To install an update that Lotus has provided to fix an existing client feature.
This article will cover the best practices for enterprise scale deployments of these features.The term feature, plug-in, and hotfix are used interchangeably, all 3 are referring to the same thing. All features existed in the ST Connect are in a form of a plug-in. In an event where a plug-in has a problem, a new plug-in (hotfix) will be released and replace the existing plug-in. The instructions written can be apply to any ST Connect 8.x or higher.
Pre-deployment for Windows- packaging features into the Sametime Connect installer
The instructions in this example will package Hotfix # CREH-7USNMA into ST Connect 8.0.1 installer. Once completed, all users are assured to have the required features.
(See attached file: hotfix_CREH-7USNMA.zip)
\hotfix\ is the root directory of the plugins. Hotfixes for ST Connect 8.x are cumulative with the following contents:
-
\hotfix\deploy\
-
\hotfix\updateSite\
\STclient\ is the root directory of the ST Connect Client installer.
-
8.0.x Standalone installer: \sametimeclient\Windows-Linux\
-
8.5.x Standalone installer: \SametimeStandardClient 8.5\sametimeclient.standalone\
1. Copy all the contents from \hotfix\updateSite\features\ to \STclient\updateSite\features
2. Copy all the contents from \hotfix\updateSite\plugins\ to \STclient\updateSite\plugins
3. Updating \STclient\updateSite\site.xml
a) Copy entire contents from within <site>….</site> from the \hotfix\updateSite\site.xml

b) Paste the entire content to within <site>….</site> at the end of \STclient\updateSite\site.xml.

c) Download this example \STclient\updateSite\site.xml to compare the result
(See attached file: site.xml)
4. Updating \STclient\deploy\install.xml
a) Copy the contents of the "hotfix" installfeature from the hotfix installer
Be sure to copy only the contents from within the tags <installfeature id="hotfix"><requirements>…</requirements> from the \hotfix\deploy\install.hotfix.xml\.
NOTE: Do NOT copy the "hotfix" tag itself. Only one "hotfix" section should be in the final document to avoid problems.
Example: Location to begin copy:

b) Append the content into the existing "hotfix" installfeature in the GA kit.
Paste and append the entire contents to within <installfeature id="hotfix"><requirements>…</requirements> at the end of \STclient\deploy\install.xml\

c) Important Step! From the content which you just pasted, remove all patches for optional features that are not enabled in the "sametime" installfeature section. In other words, if you do not have these optional features you should not paste in the optional feature patches:

NOTE: If these are left in the initial install will actually succeed, but leaves these optional patch requirements in the rcp/install.xml. When a new workspace is created or the current user's workspace is deleted the platform will fail to launch because those patches can't be enabled (since the optional features are missing).
d) Download this example \STclient\deploy\install.xml\ to compare the result.
(See attached file: install.xml) (See attached file: install.xml)
5. The packaging of the hotfix into the installer is now complete. You are now ready to run the installer and verify the hotfix was packaged correctly.
a) Launch the ST Connect and login
b) Tools -> Plug-ins -> Manage Plug-ins. Notice the red icon which indicates the plug-ins is a hotfix.

Pre-deployment for MAC - packaging features into the Sametime Connect installer
The instructions in this example will package a Hotfix into ST Connect 8.5.2 installer. Once completed, all users are assured to have the required features.
\hotfix.pkg\ is the root directory of the plugins. Hotfixes for ST Connect 8.5.x are cumulative with the following contents:
-
\hotfix.pkg\Contents\deploy\
-
\hotfix.pkg\Contents\hotfix.macosx.zip
\sametime-connect.mpkg\ is the root directory of the ST Connect Client installer.
-
8.5.x Standalone installer:\sametime.standard.macosx\sametime-connect.mpkg\
-
\sametime.standard.macosx\sametime-connect.mpkg\Contents\deploy
-
\sametime.standard.macosx\sametime-connect.mpkg\Contents\updateSite.zip
1. Copy the contents from \hotfix.pkg\Contents\deploy\install.hotfix.xml into \sametime.standard.macosx\sametime-connect.mpkg\Contents\deploy\install.xml
a) Be sure to copy only the contents from within the tags <installfeature id="hotfix"><requirements>…</requirements> from the \hotfix\deploy\install.hotfix.xml\.
NOTE: Do NOT copy the "hotfix" tag itself. Only one "hotfix" section should be in the final document to avoid problems.

b) Append the content into the existing "hotfix" installfeature in the GA kit.
Paste and append the entire contents to within <installfeature id="hotfix"><requirements>…</requirements> at the end of \STclient\deploy\install.xml\

c) Important Step! From the content which you just pasted, remove all patches for optional features that are not enabled in the "sametime" installfeature section. In other words, if you do not have these optional features you should not paste in the optional feature patches:

NOTE: If these are left in the initial install will actually succeed, but leaves these optional patch requirements in the rcp/install.xml. When a new workspace is created or the current user's workspace is deleted the platform will fail to launch because those patches can't be enabled (since the optional features are missing).
2. Move the entire zip file \hotfix.pkg\Contents\hotfix.macosx.zip into the directory \sametime.standard.macosx\sametime-connect.mpkg\Contents\

3. The packaging of the hotfix into the installer is now complete. You are now ready to run the installer and verify the hotfix was packaged correctly.
Post-deployment - Updating existing installations with new or updated features
Method 1 - using Update Site
A basic Eclipse update site is provided in the optional-components directory of the standalone client install CD and downloaded image. Similarly whenever Lotus provides an update to fix existing client
features it includes the update site.
An update site consists of the following components:
- site.xml
- features folder
- plugins folder
Here are the ways you can deploy these plugins to end users.
A. Setting up automatic updates
To set up your server so that required client updates are installed automatically, specify the "Sametime update site URL" on each of your Sametime servers.
To construct this URL move the site.xml, features and plugins folder to a HTTP server. For example if using Lotus Domino HTTP Web server you can place them under the Lotus/Domino
/Data/domino/html directory. In that case the URL will be [http://serverHostname]/site.xml
From the Sametime Administration Tool, select Policies. Update each of the appropriate policies:
1. Locate the "Sametime update site URL" setting in the Instant Messaging section of the policy.
2. Specify the URL for the update site where you will post required updates. Updates of features from this site are required and will be installed automatically; the client is not provided a choice. For
Lotus Sametime 8.0 connect clients, you can specify more than one URL by separating them with semi-colons or commas.
When the user logs in from the client, the client checks the ″Sametime update site URL″ setting for the appropriate policy on the default Sametime server.
Note: If the URL has not been specified or the setting is not found, the client will search the preferences.ini file located in the update plugin (com.ibm.collaboration.realtime.update\preferences.ini) root
directory for the adminUpdatePolicyURL value. (The policy setting was not available prior to Sametime 7.5.1.)
When the client logs in and connects to the specified update site, it silently downloads all updated features it finds and installs them. Once installation is complete, the user receives a textbox
announcing that new updates have been installed and that the user should restart the Sametime client. The user can click the restart button or press a five-minute delay button. If the user is involved in
chats with other users, he or she can continue to delay restart for as long as he wishes by continuing to press the restart button at five-minute intervals. After the restart, the client checks again to see if
there are more updates, and if it finds none, the user is not interrupted again. This update process takes place each time the user restarts his client and logs in.
B. Setting up optional updates
To set up your server so that your users are presented with a selection of optional updates, specify the "Sametime optional add-on site URLs" on each of your Sametime servers.
To construct this URL move the site.xml, features and plugins folder to a HTTP server. For example if using Lotus Domino HTTP Web server you can place them under the Lotus/Domino
/Data/domino/html directory. In that case the URL for optional updates will be [http://serverHostname]/site.xml
From the Sametime Administration Tool, select Policies. Update each of the appropriate policies:
1. Locate the "Sametime optional add-on site URLs" setting in the Instant Messaging section of the policy.
2. Specify one or more URLs for update sites where you will post optional updates.
When the user logs in from the client, the client checks the "Sametime optional add-on site URLs" policy on the default Sametime server.
Note: If the URL has not been specified or the setting is not found, the client will search the preferences.ini file located in the update plugin (com.ibm.collaboration.realtime.update\preferences.ini) root
directory for the optionalUpdatePolicyURL value. (The policy setting was not available prior to Sametime 8.0.)
When the client logs in, it scans all of the optional update sites listed to find any available updates that match the client configuration. If any updates are found, the client displays a message alerting the
user that updates are available with an option to open the Update Manager (which is pre-populated with the list of sites defined in the policy). The alert also allows the user to disable further checking on
startup. (This preference can also be set in the Contact List preferences). From the Update Manager, the user can select which updates (if any) they would like to install, then follow the instructions in
the update panels to accept the license(s) and complete the install. If any updates are installed, the client will prompt the user to restart.
C. Manually installing updates
In Sametime Connect, the user can manually install updates by choosing Tools > Plug-ins > Install plug-ins. The user can then:
1. Select Search for new features to install, and then click Next.
2. Add an update site:
- If remote, select Add Remote Location..., specify a name for the update site and provide the URL for the site.
- If a local directory, select Add Folder Location..., and select the directory where the update site exists.
- If a local archive, select Add Zip / Jar Location..., and select the update site archive.
For example, if you have access to the Standalone client install CD or downloaded image, you can click New Archive Site.... Then navigate to the optional-components directory and select optional-
components-update-site.zip.
3. Click OK to add the new update site, and then click Finish. After a short time, the Update window appears
4. Expand the update site and select the updates you wish to install from the available list. Then click Next.
5. You must agree to the license terms to continue.
6. In the next window, click Finish to install. Verify by clicking Install.
7. Restart the Clients.
Method 2 - Using the Provisioning Application
In certain locked down environment users may not be able to get automatic updates using the Update Site method. In such environments companies may use software deployment and management products that make use of the Windows System Account to support the execution of tasks on the Windows platform remotely.
The System Account on Windows is a special type of account with very specific differences from standard Windows accounts such as the lack of a true Application Data directory. Since the Sametime product installer and platform provisioning system leverage some user specific data, such as the Application Data directory, the lack of these values in some cases require additional configuration options to be provided manually. The Application Data directory is by default used as the workspacedirectory for the Sametime user – the directory where the instance specific configuration is stored for each Sametime user.
To ensure consistent management of the Sametime platform, the workspace that is used while installing the product should also be used for subsequent provisioning operations. It is recommended that a default master workspace be used for install and provisioning. When installing the product using the local Windows system account, the master workspace location is:
C:\Documents and Settings\Default User\Lotus\Sametime.
If the Sametime 8 client deployment will be managed using 3rd-party software such as Altirus or SMS, we recommend that these systems install and subsequently provision features to and from the platform using the System account. If Sametime is installed manually as a different admin user, but later managed using the System user account, new features can be installed and removed via the platform provisioning application.The limitation here is that the original features provisioned during install cannot be removed since the master workspace was not used to install the product. In summary, features can only be removed by the workspace that installed them; therefore we recommend installing and provisioning using the master workspace.
The instructions in this example will use Hotfix # CREH-7USNMA to create package to be deploy through the Provision Application. Once completed, all users that already have the ST Connect install can receive the feature update from 3rd-party management software.
1. Create the directory C:\hotfix for Hotfix # CREH-7USNMA
-
C:\hotfix\deploy
-
C:\hotfix\updateSite

2. Create an install.bat file in C:\hotfix\deploy as shown:
set MANIFEST="file:/C:/hotfix/deploy/install.hotfix.xml"
set ST_HOME=C:\Program Files\IBM\Lotus\Sametime Connect
set RCP_HOME=%ST_HOME%\rcp
echo ST_HOME=%ST_HOME%
echo RCP_HOME=%RCP_HOME%
set USERNAME=Default User
set APPDATA=C:\Documents and Settings\Default User
set USERPROFILE=C:\Documents and Settings\Default User
@REM run the provisioning app to ensure workspace is ok
"%RCP_HOME%\rcplauncher" -rcpLauncherWait -nosplash -application com.ibm.rcp.provisioning.application.ProvisioningApplication
@REM run the provisioning application to provisiong the com.ibm.rcp.provisioning.feature.patch
"%RCP_HOME%\rcplauncher" -rcpLauncherWait -nosplash -application com.ibm.rcp.provisioning.application.ProvisioningApplication -provisioningOperation provision %MANIFEST% -vmargs -Drcp.system.admin=true
@REM run Now that the provisioning.feature.patch is installed, run the provisioning application a second time so that the provisioning.feature.patch is added to install.xml
"%RCP_HOME%\rcplauncher" -rcpLauncherWait -nosplash -application com.ibm.rcp.provisioning.application.ProvisioningApplication -provisioningOperation provision %MANIFEST% -vmargs -Drcp.system.admin=true
3. Zip up the contents of C:\hotfix\updateSite and name it updateSite.zip

4. Place updateSite.zip in C:\hotfix\deploy

5. Update C:\hotfix\deploy\install.hotfix.xml
change from:
<feature id="com.ibm.rcp.provisioning.feature.patch" version="6.1.1.200904160924" match="compatible" download-size="177" size="177" action="install" shared="false"/>
change to:
<feature id="com.ibm.rcp.provisioning.feature.patch" version="6.1.1.200904160924" match="compatible" download-size="177" size="177" action="install" shared="true" url="jar:file:/C:/hotfix/deploy/updateSite.zip!/"/>
6. If the 5 previous steps were followed correctly, download the following 2 files to compare the differences
a) The original Hotfix # CREH-7USNMA, all hotfixes released by Lotus Sametime Support will have the standard structure like this:
(See attached file: hotfix_CREH-7USNMA.zip)
b) The ending result of Hotfix # CREH-7USNMA that can be used by the Provisioning Application should be like this:
(See attached file: deploy_hotfix_CREH-7USNMA.zip)
7. You are now ready to deploy Hotfix # CREH-7USNMA via 3rd-party software management utility. Because install.hotfix.xml is hard-coded with the directory of the updateSite.zip file, a specific directory must be created. For testing purpose, the following manual steps can be done on a testing workstation.The 3rd-party software management utility can do the same following steps on a mass deployment.
a) Create a directory C:\hotfix\deploy on the end user workstation with the following contents:

b) Execute install.bat
c) On the next launch of the ST Connect Client, the new update will be applied. Follow Step 5 in the Pre-deployment section to verify the update.
(See attached file: site.xml)(See attached file: install.xml)(See attached file: hotfix_CREH-7USNMA.zip)(See attached file: deploy_hotfix_CREH-7USNMA.zip)(See attached file: install.xml)(See attached file: site.xml)(See attached file: install.xml)(See attached file: hotfix_CREH-7USNMA.zip)(See attached file: deploy_hotfix_CREH-7USNMA.zip)